Open topic with navigation
Overview of DSA
DSA connects devices, services, and applications into a real-time data model to support analytics, device-to-device communication,
distributed computing, and application development. Detailed information about DSA is available on the DSA home page.
DSA represents the entities in the system as one of the following types:
- Broker: Brokers manage security, links, subscriptions, and node permissions. Other entities in the system can operate only as permitted by a broker. A broker also saves configuration data to disk. A broker also routes data from a source to a destination.
- DSLink: DSLinks create, publish, and interact with data read from data sources such as devices. DSLinks, which connect to brokers, can subscribe to data in the DSA system, to receive data whenever the data changes. You can download DSLinks from IOT-DSA on Github.
- Node: General term for the components connected by DSA. Node can be brokers, DSLinks, metrics, actions, attributes, or folders containing other nodes.
- Metric: A metric is a key/value pair. The value can be any of the data types listed in Supported Data Types, including an arbitrary value map. A metric can originate on any broker, DSLink, or other node.
- Data node: Data nodes enable data to be stored on the broker's host server.
- Action: An action is an invocable command that can affect an entity. For example, an action might create a node or set a metric value. An action can exist on any broker, DSLink, other node, or metric.
- Attribute: An attribute is metadata for the selected entity, represented as a key/value pair. An attribute can exist on any broker, DSLink, other node, or metric.
DSA supports the following data types:
- String: A series of characters or an empty string.
- Number: A number or a null value.
- Bool: A true or false value.
- Array: An array object or a null value. The values in the array are of the dynamic data type. An example array of number values is [2,3,5,7,11]. An example array of map values is [{"hello":"world","number":1},{"hello":"world"}].
- Map: A map object containing key/value pairs, or a null value. The key is always a string, and the value is the dynamic data type. An example value is {"hello":"world","primes":[2,3,5,7,11]}.
- Binary: A byte array expressed as a string, or a null value. The string begins with \u001Bytes: and ends with a byte array encoded in base 64.
- Dynamic: A value that can be any of the above types.
Upstream and Downstream Connections
A broker can be either upstream or downstream from another broker.
A downstream entity requests permission, and an upstream entity grants or refuses that permission. A broker is always upstream from its DSLinks.
Upstream and downstream connections are important concepts to understand when you configure permissions for multiple servers or for multiple brokers on one server.
To connect to an upstream broker using product, perform the following steps:
- In the Data pane, expand the sys node, right-click upstream and choose Add Upstream Connection.
- Specify connection settings as follows:
- Name: The node name that you want to appear in the downstream tree to represent the upstream broker.
- Url: The connection endpoint, for example
http://localhost:8081/conn
. - Broker Name: The name that you want to appear in the upstream tree to represent the downstream broker.
- Group: The permission group for the upstream broker.
- To remove the downstream broker from quarantine, log into the upstream broker, choose sys > quarantine > Deauthorize, and specify the downstream broker.
Installing DSA
To install DSA, follow the steps for your target plaform:
Installing and Updating a DSLink
To install a DSLink in Solution Builder:
- In the Data panel, right-click the sys > links node.
- Choose Install Link and choose an installation method: If you have a link to a ZIP file, choose from Url. If you have a ZIP file to upload, choose from Zip. If the link can be found in IOT-DSA on Github, choose from Repository.
- Specify a name for the new DSLink.
- Without moving the mouse pointer away from the pop-up window, click Invoke. When the link has been successfully installed, a "Success" message is displayed.
- To start the link, right-click the link under sys > links and choose Start Link.
When the link has started successfully, it is listed under the downstream node.
To update a DSLink:
- In the Data panel, right-click the link under sys > links.
- Choose Update, choose an update type, and click Invoke.